package model;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import model.exceptions.ValidarEquipoException;

public class Participante {
 
	private String nombre;
	 
	private int numero;
	 
	private int puntosFecha;
	 
	private int puntosGral;
	 
	private Equipo equipo;
	 
	public Participante(String nombre,int numero){
		this.nombre = nombre;
		this.numero = numero;
	}
	
		
	public Equipo getEquipo() {
		return equipo;
	}


	public void setEquipo(Equipo equipo) {
		this.equipo = equipo;
	}


	public int getNumero() {
		return numero;
	}


	public void setNumero(int numero) {
		this.numero = numero;
	}


	public int getPuntosFecha() {
		return puntosFecha;
	}


	public void setPuntosFecha(int puntosFecha) {
		this.puntosFecha = puntosFecha;
	}


	public int getPuntosGral() {
		return puntosGral;
	}


	public void setPuntosGral(int puntosGral) {
		this.puntosGral = puntosGral;
	}


	public String getNombre() {
		return nombre;
	}


	/**
	 * 
	 * @return Si las reglas son validas retorna true, de lo contrario false
	 */
	public boolean validarEquipo() {
		boolean valido = false;		
		try{
			if( this.equipo.validarCantidadMinimaJugadoresPorEquipo() &&// regla de la cantidad de jugadores
				this.equipo.validarCostoEquipo() &&						// regla del costo total del equipo
				this.equipo.validarCantJugadoresDeUnClub() &&			// regla de jugadores de un club
				this.equipo.validarCantJugadoresPorPosicion()){			// regla de jugadores por posicion
				
				valido = true;
			}		
		}catch(ValidarEquipoException vee){
			vee.printStackTrace();
		}
		return valido;
	}
	
	
	 
	public void crearEquipo() {
	 
	}
	 
	public void setNombre(String nombre) {
	 
	}
	 
	public void armarEquipoDummy(Map<String,Jugador> jugadores) {
		this.equipo = new Equipo();
		this.equipo.agregarJugador(jugadores.get("a1"));
		this.equipo.agregarJugador(jugadores.get("a2"));
		this.equipo.agregarJugador(jugadores.get("d1"));
		this.equipo.agregarJugador(jugadores.get("d2"));
		this.equipo.agregarJugador(jugadores.get("d3"));
		this.equipo.agregarJugador(jugadores.get("m1"));
		this.equipo.agregarJugador(jugadores.get("m2"));
		this.equipo.agregarJugador(jugadores.get("m3"));
		this.equipo.agregarJugador(jugadores.get("del1"));
		this.equipo.agregarJugador(jugadores.get("del2"));
		this.equipo.agregarJugador(jugadores.get("del3"));
		
		//this.equipo.setCantJugadores(10);
		this.equipo.setCostoTotal(this.equipo.getCantJugadores() * 5000);

	}
	 
}
 
